from abc import ABC, abstractmethod
import platform
import subprocess
import shlex
class PluginBase(ABC):
    def __init__(self,**kwargs):
        pass
    @abstractmethod
    def install(self):
        pass

class RustPlugin(PluginBase):
    def __init__(self,**kwargs):
        super().__init__(**kwargs)
    def install(self):
        os_name = platform.system.lower()
        match os_name:
            case 'darwin':
                cmd = shlex.split("brew install llvm")
                out,err = subprocess.Popen(cmd,stdout=subprocess.PIPE,stderr=subprocess.PIPE).communicate()
            case 'linux':
                pass
            case _:
                pass
if __name__ == "__main__":
    a = RustPlugin()

